package com.ruoyi.sl.service.impl;

import java.util.List;

import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.sl.mapper.SlSaMapper;
import com.ruoyi.sl.domain.SlSa;
import com.ruoyi.sl.service.ISlSaService;

/**
 * 水产小时系数Service业务层处理
 * 
 * @author admin
 * @date 2024-06-12
 */
@Service
public class SlSaServiceImpl implements ISlSaService 
{
    @Autowired
    private SlSaMapper slSaMapper;

    /**
     * 查询水产小时系数
     * 
     * @param saId 水产小时系数主键
     * @return 水产小时系数
     */
    @Override
    public SlSa selectSlSaBySaId(Long saId)
    {
        return slSaMapper.selectSlSaBySaId(saId);
    }

    /**
     * 根据大工序ID查询水产小时系数
     *
     * @param gprocessId 水产小时系数主键
     * @return 水产小时系数
     */
    public SlSa selectSlSaByGprocessId(Long gprocessId){
        return slSaMapper.selectSlSaByGprocessId(gprocessId);
    }



    /**
     * 查询水产小时系数列表
     * 
     * @param slSa 水产小时系数
     * @return 水产小时系数
     */
    @Override
    public List<SlSa> selectSlSaList(SlSa slSa)
    {
        return slSaMapper.selectSlSaList(slSa);
    }


    /**
     * 获取水场小时工工序配置
     *
     * @param slSa 水产小时系数
     * @return 结果
     */
    @Override
    public Boolean checkGprocessIdUnique(SlSa slSa){
        Long saId = StringUtils.isNull(slSa.getSaId()) ? -1L : slSa.getSaId();
        SlSa dataSa = slSaMapper.checkGprocessIdUnique(slSa);
        if (StringUtils.isNotNull(dataSa) && dataSa.getSaId().longValue() != saId.longValue())
        {
            return false;
        }
        return true;
    }

    /**
     * 新增水产小时系数
     * 
     * @param slSa 水产小时系数
     * @return 结果
     */
    @Override
    public int insertSlSa(SlSa slSa)
    {
        slSa.setCreateTime(DateUtils.getNowDate());
        return slSaMapper.insertSlSa(slSa);
    }

    /**
     * 修改水产小时系数
     * 
     * @param slSa 水产小时系数
     * @return 结果
     */
    @Override
    public int updateSlSa(SlSa slSa)
    {
        slSa.setUpdateTime(DateUtils.getNowDate());
        return slSaMapper.updateSlSa(slSa);
    }

    /**
     * 批量删除水产小时系数
     * 
     * @param saIds 需要删除的水产小时系数主键
     * @return 结果
     */
    @Override
    public int deleteSlSaBySaIds(Long[] saIds)
    {
        return slSaMapper.deleteSlSaBySaIds(saIds);
    }

    /**
     * 删除水产小时系数信息
     * 
     * @param saId 水产小时系数主键
     * @return 结果
     */
    @Override
    public int deleteSlSaBySaId(Long saId)
    {
        return slSaMapper.deleteSlSaBySaId(saId);
    }
}
